\section{Diagrama de Casos de Uso}

\begin{figure}[h!]
\centering
\includegraphics[width=\textwidth, height=0.9\textheight]{imgs/DCU.png}
\caption{Diagrama de casos de uso.}
\end{figure}

\newpage


\begin{itemize}
\vspace{1cm}
\item \textbf{(1,4):} Flujo del DA ``Manejo de stock al realizarse una venta", actividades (3,4).
\vspace{1cm}
\item \textbf{(3):} Correspondiente a la actividad homónima (6) del DA ``Actualización 
de promos/planes".
\vspace{1cm}
\item \textbf{(5,6,11):} Información utilizada en DA ``Visita de un vendedor a un cliente", 
actividad (2). Proviene de la última sincronización que tuvo el 
dispositivo.
\vspace{1cm}
\item \textbf{(7):} Se corresponde con la actividad (7) del DA ``Visita de un vendedor a un cliente".
\vspace{1cm}
\item \textbf{(9,10):} Se corresponden a la interacción posterior a que el sistema responde si hay o 
no stock, confirmando/rechazando la venta. Se observa en la actividad (12) del DA
``Visita un vendedor a un cliente".
\vspace{1cm}
\item \textbf{(12):} Interacción a partir de la cual surge la actividad (7) del DA
``Manejo de stock al realizarse una venta".
\vspace{1cm}
\item \textbf{(13-15)}: Interacción descripta y desarrollada en el DA ``Actualización de promos/planes",
en las actividades (1-7).
\vspace{1cm}
\item \textbf{(17):} Correspondencia directa con las actividades (9,10) del DA ``Actualización 
de promos/planes".
\vspace{1cm}
\item \textbf{(5,6,7,8,11):} Utilizan la información de la última sincronización lograda, de acuerdo
a FSM Dispositivo Móvil, utilizando la información actualizada a través de lo descripto
en FSM Sistema.

\end{itemize}

\newpage

\subsection{Detalles}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Notificando remanente de Stock}

\textbf{\textbf{Actor:} }Depósito 

\textbf{\textbf{Precondición:}} --

\textbf{\textbf{Post-condición:}}	El Depósito  informa al sistema que existe remanente


% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El Depósito solicita información sobre fechas de ingreso y stock.

2- El Depósito avisa al sistema que hay remanente de un producto en particular.

3- Fin caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\
\vspace{\baselineskip}
\vspace{\baselineskip}

2.1 No existe remanente, vuelve a 1.
\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Actualizando Stock}

\textbf{Actor:} Depósito

\textbf{Precondición:} ----

\textbf{Post-condición:} El sistema es actualizado con los datos de stock.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El Depósito ingresa al sistema la información
sobre el nuevo equipo que que formará parte del stock (modelo, marca, etc), para que esta información sea impactada en la base de datos del sistema.

% ???
2- El sistema actualiza su base de datos.

3- Fin caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\
\vspace{\baselineskip}
\vspace{\baselineskip}


\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Descontando Stock}

\textbf{Actor:} Depósito

\textbf{Precondición:} Existe una nueva venta y se reservo el stock.

\textbf{Post-condición:} Se actualizan los registros de stock.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1-El sistema notifica que la venta se concretó con el stock que había sido reservado.

% ???
2-El depósito descuenta el stock de estos productos.

3-Fin caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\
\vspace{\baselineskip}
\vspace{\baselineskip}

\end{minipage}

\newpage
%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Recibiendo pedido reserva stock}

\textbf{Actor:} Depósito

\textbf{Precondición:} Existe una nueva oferta de venta.

\textbf{Post-condición:} Se reserva el stock para la venta a realizar.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1-El sistema informa al depósito la cantidad de productos que debe reservar (detallando el/los modelos y las cantidades de cada uno).

2-El depósito marca como reservados la cantidad solicitada.														

3-Fin caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}

3.1 No está disponible el stock requerido. Se informa al sistema.
\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Consultando información personal de cliente}

\textbf{Actor:} Vendedor

\textbf{Precondición:} -----

\textbf{Post-condición:} Se obtiene la información personal que posee del cliente.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El vendedor ingresa consulta al sistema en busca de la información relacionada con el mismo.

2- El sistema muestra los datos requeridos si es que existen y la información se encuentra sincronizada.
	
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}	
								
3- Fin de caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\
\vspace{\baselineskip}
\vspace{\baselineskip}

2.1- Si no se encuentra sincronizada intenta sincronización.

2.1.1- Si logra sincronizarse vuelve a 2.

2.1.2- Si no logra sincronizar se muestran los datos (domicilio, contactos, etc) desactualizados (si es que existen) o nada y un mensaje de advertencia.

2.2- Si el cliente aún no tiene información cargada	se muestra un mensaje indicando que no existen datos de ese cliente.

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Consultando información comercial de cliente}

\textbf{Actor:} Vendedor

\textbf{Precondición:} -----

\textbf{Post-condición:} Se obtiene la información comercial del cliente.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\


1-El vendedor ingresa consulta al sistema en busca de la información relacionada con el mismo para realizar las respectivas ofertas (últimas adquisiciones, preferencias, etc).

2-El sistema muestra los datos requeridos si es que existen y la información se encuentra sincronizada.
						
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}

3- Fin de caso de uso.
\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\
\vspace{\baselineskip}
\vspace{\baselineskip}

2.1- Si no se encuentra sincronizada intenta sincronización.

2.1.1- Si logra sincronizarse vuelve a 2.

2.1.2- Si no logra sincronizar se muestra la información desactualizada (si es que existe) o nada y un mensaje de advertencia.

2.2- Si el cliente aún no tiene información cargada	se muestra un mensaje indicando que no existen datos de ese cliente.
\end{minipage}

%%%%%%%%%%%%%%%%%%%%%



\subsubsection{Cargando información comercial de cliente}

\textbf{Actor:} Vendedor

\textbf{Precondición:} Existe una venta.

\textbf{Post-condición:} Se actualizan los datos del cliente.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1-El vendedor ingresa los datos sobre el cliente que esta entrevistando al sistema (sea un cliente nuevo o ya existente), para que este actualice sus bases de datos.

2- Fin de caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\vspace{\baselineskip}
\vspace{\baselineskip}	
\vspace{\baselineskip}	
2.1-Si no existe conexión disponible los datos se actualizan en la próxima sincronización.

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%


\subsubsection{Cargando oferta venta}

\textbf{Actor:} Vendedor

\textbf{Precondición:} ---

\textbf{Post-condición:} Se cargan los datos de la oferta de venta en el sistema.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El vendedor ingresa al sistema los datos de la oferta de venta en cuestión (equipo/s, plan/es, etc. que acordó con el cliente).

\vspace{\baselineskip}
2- Si el vendedor lo considera oportuno, además, ingresa datos sobre la nueva información comercial del cliente. Es extendido eventualmente por "Cargando información comercial de cliente" para actualizar los datos del mismo. Ver cu 7.

3- Es extendido por "Recibiendo pedido reserva stock" para poder concretar la venta (en el caso de que haya conexión). Ver CU 4.

4- Es extendido eventualmente por "Recibiendo confirmacion venta" en caso de que la venta se concrete.

5- Es extendido eventualmente por "Recibiendo estado de oferta pendiente/cancelada" en caso de que la venta no se concrete.

6- Fin de caso de uso

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\vspace{\baselineskip}
2.1- Si no se puede establecer comunicación por falta de red se almacenan los datos para intentar enviarlos más tarde.

\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}
4.1- Si el sistema informa que no hay stock disponible se cancela la oferta (ver máquina de estado de reserva de stock).
\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Recibiendo confirmacion venta}

\textbf{Actor:} Vendedor

\textbf{Precondición:} ---

\textbf{Post-condición:} Se cargan los datos de la venta en el sistema.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El vendedor logra concretar la venta que antes había ofertado.

2- El vendedor recibe la confirmacion de que la oferta que cargo quedó procesada.
																
3- Usa descontando stock para actualizar los registros del stock.

4- Fin de caso de uso.


\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\vspace{\baselineskip}
\vspace{\baselineskip}
2- No puede recibir la confirmacion por falta de red.
El servidor hace polling hasta lograr sincronización.

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%


\subsubsection{Recibiendo estado de oferta pendiente/cancelada}

\textbf{Actor:} Vendedor

\textbf{Precondición:} Se concretó una oferta

\textbf{Post-condición:}El vendedor obtiene la respuesta de la transacción en curso.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El sistema realiza las verificaciones necesarias para determinar si la venta es factible.

2- Si la reserva no es posible el sistema devuelve la cancelación de la oferta.

3- Si hubo algun error de comunicación entre el sistema y el depósito, el sistema devuelve el estado pendiente.
																			
4- Fin caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%


\subsubsection{Obteniendo información sobre productos y promociones}

\textbf{Actor:}	Vendedor

\textbf{Precondición:} ----

\textbf{Post-condición:} Se obtiene la información cargada en el sistema.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El vendedor ingresa consulta al sistema en busca de la información relacionada con  el catálogo de productos y promociones.

2- El sistema muestra los datos requeridos si es que existen y tiene la información	sincronizada.
	
\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}															
3- Fin de caso de uso.
\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\


\vspace{\baselineskip}
\vspace{\baselineskip}
\vspace{\baselineskip}
2.1- Si no se encuentra sincronizado intenta sincronización.

2.1.1- Si logra sincronizarse vuelve a 2.

2.1.2- Si no logra sincronizar se muestra la info desactualizada.
\end{minipage}

%%%%%%%%%%%%%%%%%%%%%


\subsubsection{Cargando promociones}

\textbf{Actor:}	Marketing

\textbf{Precondición:} ---

\textbf{Post-condición:} Se cargan las nuevas promociones al sistema.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El equipo d marketing utiliza el backoffice del sistema para cargar los datos sobre las nuevas promociones a ofrecer.

2- El Sistema actualiza sus bases de datos para que luego quede disponible para los vendedores.

3- Fin de caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%
\newpage

\subsubsection{Cargando inventario}

\textbf{Actor:}	Marketing

\textbf{Precondición:} ---	

\textbf{Post-condición:} Se carga el inventario de productos disponibles para la venta.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El equipo de marketing utiliza el backoffice del sistema para cargar los datos sobre los planes y equipos a vender (precios de equipos, fechas de comercialización, etc).

2- El Sistema actualiza sus bases de datos para luego enviar la información a los vendedores.

3- Fin de caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Obteniendo información de clientes}

\textbf{Actor:} Marketing

\textbf{Precondición:} ---

\textbf{Post-condición:} El equipo de marketing tiene la información necesaria sobre los clientes.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El equipo de marketing consulta a través el backoffice del sistema la información del cliente que busca, utilizando el número de cliente.

2- El sistema muestra la información que tiene actualizada hasta el momento.

3- Fin de caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Obteniendo información de remanentes}

\textbf{Actor:} Marketing

\textbf{Precondición:} ----

\textbf{Post-condición:} El equipo de marketing obtiene cuales son los productos que tienen remanentes.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El sistema alerta al área de marketing sobre la existencia de remanentes mediante alertas en el backoffice del sistema.

2- El equipo de marketing consulta a través el backoffice del sistema la información sobre cuáles son los equipos que presentan remanente de stock.

3- El el backoffice del sistema muestra todos los equipos que se encuentran en estado de "remanente" según los informes presentados por Depósito.

4- Fin de caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%
\newpage

\subsubsection{Obteniendo información de stock}

\textbf{Actor:} Marketing

\textbf{Precondición:} ---

\textbf{Post-condición:} El equipo de marketing obtiene la información del stock de los productos.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El equipo de marketing consulta a través del backoffice del sistema la información sobre el stock de los productos que busca, ingresando marca y modelo.

2- El sistema muestra la información según los informes cargados por Depósito. 

3- Fin de caso de uso.

\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Recibiendo datos de lineas/ equipos vendidos}

\textbf{Actor:}	Sistema de facturación.

\textbf{Precondición:} Se realizo una venta.

\textbf{Post-condición:} Se actualizan los datos de facturación.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El sistema actualiza los registros despues de la confirmación de la venta. Usa "confirmando venta".

2- El equipo de facturación revisa a través del backoffice cuáles fueron las ventas realizadas y los datos de las mismas. 

3- El equipo de facturación realiza la facturación de las ventas antes consultadas.

3- Fin caso de uso.
\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%

\subsubsection{Autenticándose}

\textbf{Actor:}	Déposito.

\textbf{Precondición:} ---.

\textbf{Post-condición:} El agente queda loguado dentro del sistema.

% first column
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Normal}}\\

1- El usuario ingresa número de empleado y contraseña.

2- El sistema retorna un mensaje indicando que el usuario queda logueado y lo redirige a la pantalla de inicio.

3- Fin caso de uso.
\end{minipage}
%second column
\hspace{0.1\textwidth}
\begin{minipage}[t]{0.45\textwidth}
\textbf{\textbf{Curso Alternativo}}\\
\vspace{\baselineskip}

2.1- Si el usuario no existe o la contraseña es incorrecta se muestra un mensaje indicando "usuario o contraseña inexistente". Vuelve a 1.

\end{minipage}

%%%%%%%%%%%%%%%%%%%%%